package model

import (
	"time"

	"gorm.io/gorm"
)

// Resume 简历模型
// 用于存储应聘者的简历信息
type Resume struct {
	ID        uint           `gorm:"primarykey" json:"id"` // 简历ID，主键
	CreatedAt time.Time      `json:"created_at"`           // 记录创建时间
	UpdatedAt time.Time      `json:"updated_at"`           // 记录更新时间
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`       // 软删除时间

	CandidateID  uint      `gorm:"not null;uniqueIndex" json:"candidate_id"` // 关联的应聘者ID
	Title        string    `gorm:"size:100;not null" json:"title"`           // 简历标题
	FileURL      string    `gorm:"size:255" json:"file_url"`                 // 简历文件URL
	Content      string    `gorm:"type:text" json:"content"`                 // 简历内容，富文本格式
	WorkExp      string    `gorm:"type:text" json:"work_exp"`                // 工作经历
	Education    string    `gorm:"type:text" json:"education"`               // 教育经历
	Skills       string    `gorm:"type:text" json:"skills"`                  // 技能专长
	Projects     string    `gorm:"type:text" json:"projects"`                // 项目经历
	Certificates string    `gorm:"type:text" json:"certificates"`            // 证书成就
	SelfEval     string    `gorm:"type:text" json:"self_eval"`               // 自我评价
	Status       int       `gorm:"not null;default:1" json:"status"`         // 状态：1-有效，0-无效
	SubmitDate   time.Time `gorm:"not null" json:"submit_date"`              // 提交日期

	// 关联
	Candidate Candidate `gorm:"foreignKey:CandidateID" json:"candidate,omitempty"` // 关联应聘者信息
}
